{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  配点法求解微分方程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrJUlEQVR4nO3deVhUZf8G8HsWGPZBBAHZEQRcUdz3fW2x1cpcyvpptqllZfam+VaWbZa5Va5lZeXyWpqGueGuCG6gCKKAgOyLbAMz5/fHYREFZRA4M8P9ua5zIWfODN85AufmeZ7zPDJBEAQQERERSUQudQFERETUvDGMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREklJKXUBd6HQ6JCcnw9bWFjKZTOpyiIiIqA4EQUB+fj5at24Nubz29g+jCCPJycnw8PCQugwiIiKqh8TERLi7u9f6uFGEEVtbWwDim7Gzs5O4GiIiIqqLvLw8eHh4VF7Ha2MUYaSia8bOzo5hhIiIyMjca4gFB7ASERGRpBhGiIiISFIMI0RERCQpoxgzQkRkCgRBQFlZGbRardSlEDUIhUIBpVJ539NuMIwQETUBjUaDlJQUFBYWSl0KUYOysrKCq6srzM3N6/0aDCNERI1Mp9MhPj4eCoUCrVu3hrm5OSdwJKMnCAI0Gg3S09MRHx8Pf3//u05sdjcMI0REjUyj0UCn08HDwwNWVlZSl0PUYCwtLWFmZoZr165Bo9HAwsKiXq/DAaxERE2kvn81Ehmyhvi+5k8GERERSYphhIiIiCTFMEJERI1qwYIFCA4Orvx8ypQpGDdunGT1VLi9LmMnk8mwbdu2Bn/dQYMGYebMmQ3+urdiGCEiolqlpqbi1Vdfha+vL1QqFTw8PPDggw/i33//lbo0vdR0oX7zzTeb5H14e3tDJpPh119/veOx9u3bQyaTYd26dXV+PVMLUQDvpiEyCjqdgIybJUjMLsKNvGLkF5fiZokWBSVlKCgpQ6lWgFIhg0Iug1Iug1Iuh9pSCQcbFRyszOFgbY5Wdiq0tOYtpVR3V69eRd++fWFvb4/FixejU6dOKC0txe7du/Hyyy/j4sWLUpd4X2xsbGBjY9MkX8vDwwNr167FU089Vbnv2LFjSE1NhbW1dZPUYMgYRogMiCAISMgqxIXkPJy/nosLyXm4llmA5JxiaLS6+359W5USXo5W8G5pDV9HawS52qGjuxpu9pYMKU1MEAQUlTb9TKyWZoo6/1/PmDEDMpkMJ06cqHbBbN++PZ5//vnKzxMSEvDqq6/i33//hVwux6hRo7B06VI4OzvX6euUlJRgzpw5+PXXX5GXl4du3brhq6++Qvfu3SuPuXDhAt566y2EhYVBEAQEBwdj3bp1aNOmDU6ePIl3330XERERKC0tRXBwML766it07doVgNgyAQCPPPIIAMDLywtXr17FggULsG3bNkRGRgIQ54P58MMP8d133yE9PR1BQUH45JNPMGrUKABiOPPx8cHmzZuxdOlSHD9+HP7+/li5ciV69+591/c4YcIEfPXVV0hMTISHhwcAYM2aNZgwYQI2bNhQ7djc3FzMmTMH27ZtQ3FxceX56Ny5M9atW4cPPvgAQNVKuGvXrsWUKVMAABkZGXjkkUewe/duuLm54YsvvsBDDz1U+doHDhzAnDlzcObMGTg4OGDy5Mn48MMPoVSKcaCgoAAvvfQStmzZAltbW7z55pt1+j+8XwwjRBISBAExN27iUGwGDsdm4OTVLOQXl9V4rFwGuNhZwNXeEmpLM1irlLBRKWGjUkCpkEOnE1CmE6DVCSgp0yG3SIOsgoqtFJkFJcgvKcP563k4fz2v2mu3tDZHJ3c1OnvYo6+fI4I97GGmYC9uYyoq1aLd+7ub/OtGLRwJK/N7/+rPysrCrl278NFHH9X4l7u9vT0A8Xt43LhxsLa2xoEDB1BWVoYZM2Zg/Pjx2L9/f51qeuutt7B582asX78eXl5eWLx4MUaOHInY2Fg4ODjg+vXrGDBgAAYNGoS9e/fCzs4Ohw8fRlmZ+LOSn5+PyZMn45tvvgEAfPHFFxgzZgwuX74MW1tbnDx5Eq1atcLatWsxatQoKBSKGuv4+uuv8cUXX2DVqlXo0qUL1qxZg4ceeggXLlyAv79/5XHz5s3D559/Dn9/f8ybNw9PP/00YmNjKy/oNXF2dsbIkSOxfv16vPfeeygsLMSmTZtw4MCBamFEEASMHTsWDg4O2LlzJ9RqNVatWoWhQ4ciJiYG48ePx/nz57Fr1y7s2bMHAKBWqyuf/8EHH2Dx4sX47LPPsHTpUkyYMAHXrl2rPI9jxozBlClTsGHDBly8eBEvvvgiLCwssGDBAgDAnDlzsG/fPmzduhUuLi549913ER4e3ujdQgwjRE1MU6ZD2OV07DiXgrDLGUjPL6n2uLlCjkBXW7RvbYf2rdXwa2UDN3tLuKgt7isgFJdqkZhViPiMAlzNLMCV9AKcu56LS6n5yCzQYN+ldOy7lI4ley7D2lyBnr4t0dfPEYMDnODr1DRN2WQ4YmNjIQgCAgMD73rcnj17cPbsWcTHx1f+xf/jjz+iffv2OHnyZLXWjZoUFBRgxYoVWLduHUaPHg0A+P777xEaGorVq1djzpw5WLZsGdRqNX799VeYmZkBANq2bVv5GkOGDKn2mqtWrUKLFi1w4MABPPDAA3BycgIgBigXF5daa/n888/x9ttvV3alfPrpp9i3bx+WLFmCZcuWVR735ptvYuzYsQDEi3/79u0RGxt7z3P1/PPP44033sC8efPwxx9/oE2bNndc5Pft24dz584hLS0NKpWqsq5t27bhjz/+wP/93//BxsYGSqWyxvcyZcoUPP300wCAjz/+GEuXLsWJEycwatQoLF++HB4eHvj2228hk8kQGBiI5ORkvP3223j//fdRWFiI1atXY8OGDRg+fDgAYP369XB3d7/r+2oIDCNETaBMq8ORuEz8dTYZu86nIu+W1g8LMzl6+LREP7+W6NPGEQEuto3SKmFhpoC/sy38nW2r7S8u1SI6JQ9nk3Jx4moWjsZlIqtAg70X07D3Yhr++xcQ4GyLUR1cMLqjCwKcbdml0wAszRSIWjhSkq9bF4IgAMA9/6+jo6Ph4eFRGUQAoF27drC3t0d0dPQ9w0hcXBxKS0vRt2/fyn1mZmbo0aMHoqOjAQCRkZHo379/ZRC5XVpaGt5//33s3bsXN27cgFarRWFhIRISEur0XgEgLy8PycnJ1eoAgL59++LMmTPV9nXq1Kny366urpU13CuMjB07FtOmTcPBgwexZs2aal1dFcLDw3Hz5k20bNmy2v6ioiLExcXd833cWpu1tTVsbW2RlpYGQPy/6t27d7X/0759++LmzZtISkpCdnY2NBpNtS4nBwcHBAQE3PPr3i+GEaJGlJ5fgl9PJODnEwlIyS2u3N/KVoWxnVwxvJ0zQrxaQKWs2wWiMViYKdDFswW6eLbA5D7e0OkERKfm4XBsBg7GZODYlUxcupGPSzfy8fW/l+HraI1HurjhsRB3tLa3lKxuYyeTyerUXSIVf39/yGQyREdH3/U2XEEQagwste2v6TjgztBz6/MtLe/+fTZlyhSkp6djyZIl8PLygkqlQu/evaHRaO759W93tzoq3BqKKh7T6e49pkupVGLixImYP38+jh8/jq1bt95xjE6ng6ura41dXBVdY3dze2CTyWSVtdX0Xm49/xX/loLh/iQQGbHwa9nYcPQqdp5LQalW/AFvYWWGMR1d8WDn1uju7QCF3DBbF+RyGdq3VqN9azX+b0Ab5BaWIjT6BnadT8HByxm4klGAL0Jj8OWeGPTzc8QT3Twwop0zLOr4FzcZBwcHB4wcORLLli3Da6+9dse4kZycHNjb26Ndu3ZISEioNjAzKioKubm5CAoKuufX8fPzg7m5OQ4dOoRnnnkGAFBaWopTp05Vzm3RqVMnrF+/HqWlpTW2joSFhWH58uUYM2YMACAxMREZGRnVjjEzM4NWW/uAYTs7O7Ru3RqHDh3CgAEDKvcfOXIEPXr0uOf7qKvnn38en3/+OcaPH48WLVrc8XjXrl2RmpoKpVJZOfD2dubm5nd9L7Vp164dNm/eXC2UHDlyBLa2tnBzc0OLFi1gZmaGY8eOwdPTEwCQnZ2NmJgYDBw4UO+vpw+GEaIGdOxKJr7ecxlHr2RW7uviaY9Jvb0wpqOrpC0g9aW2MsPjIe54PMQdN0vKsOt8Kn4/lYjj8VkIu5yBsMsZcLA2xzM9PDGxtxec7eq3UBYZnuXLl6NPnz7o0aMHFi5ciE6dOqGsrAyhoaFYsWIFoqOjMWzYMHTq1AkTJkzAkiVLKgewDhw4EN26dbvn17C2tsZLL72EOXPmwMHBAZ6enli8eDEKCwsxdepUAMArr7yCpUuX4qmnnsLcuXOhVqtx7Ngx9OjRAwEBAfDz88OPP/6Ibt26IS8vD3PmzLmjNcXb2xv//vsv+vbtC5VKVWMQmDNnDubPn185lmPt2rWIjIzExo0bG+aEAggKCkJGRkatCyYOGzYMvXv3xrhx4/Dpp58iICAAycnJ2LlzJ8aNG4du3brB29sb8fHxiIyMhLu7O2xtbSvHl9zNjBkzsGTJErz66qt45ZVXcOnSJcyfPx+zZ8+GXC6HjY0Npk6dijlz5qBly5ZwdnbGvHnzmmRNJYYRogZw7EomluyJwbErWQAAM4UMDwe7YXJvb3R0V9/j2cbDRqWsDCbXMguwOTwJv4cnISW3GN/ui8XKA3EY28kVz/f1QWcPe6nLpfvk4+OD06dP46OPPsIbb7yBlJQUODk5ISQkBCtWrABQNZnYq6++igEDBlS7tbeuPvnkE+h0OkycOBH5+fno1q0bdu/eXRkYWrZsib1792LOnDkYOHAgFAoFgoODK8d3rFmzBv/3f/+HLl26wNPTEx9//PEdt6R+8cUXmD17Nr7//nu4ubnh6tWrd9Tx2muvIS8vD2+88QbS0tLQrl07bN++vdqdNA3h9vEgt5LJZNi5cyfmzZuH559/Hunp6XBxccGAAQMqb5V+7LHHsGXLFgwePBg5OTnVbu29Gzc3N+zcuRNz5sxB586d4eDggKlTp+K9996rPOazzz7DzZs38dBDD8HW1hZvvPEGcnNz7/s934tMkLKTqI7y8vKgVquRm5sLOzs7qcshqnQpNR///SsKh2LFJmEzhQzju3vgpUF+cGsm4ynKtDqERt3AmsPxOHk1u3J/b9+WeG2oP3r5OjT7Aa/FxcWIj4+Hj49PvZdYJzJUd/v+ruv1my0jRPWQU6jBV6Ex+Ol4ArQ6oVmGkApKhRyjO7pidEdXnEvKxdrD8fjzbDKOXsnE0SuZ6O7dAq8M8ccAf8dmH0qIqGZsGSHSg1Yn4OcTCfjyn0vILiwFAIxq74J3xwTBs2XNfcDN0fWcIqzcH4dNpxKhKRNH8gd72OOd0YHo5Vt7E7WpYssImbKGaBmp16iU5cuXV37RkJAQhIWF1Xrs/v37IZPJ7tiMfU0Dan5i027i8ZVH8J9t55FdWIoAZ1tsfKEnVk4MYRC5jZu9Jf47rgPC3hqMqf18YGEmR2RiDp767hieW3sC0Sl5934RImo29O6m2bRpE2bOnInly5ejb9++WLVqFUaPHo2oqKjKW4FqcunSpWqpqGJGPCJDp9UJWH3oCj7/JwaaMh1sVErMGRmACT09oeSU6XflbGeB/zzQDtMHtsHSvZfx8/EE7LuUjv0x6XikixveHBHAuUqISP9ump49e6Jr166VI6kB8ValcePGYdGiRXccv3//fgwePBjZ2dl1mrClJuymIanEpt3EnD/OICIhBwAwoK0TPnm0Iy+g9XQ1owCf/XMJO86mABBnA315cBu80N/XpOcpYTcNmbIm76bRaDQIDw/HiBEjqu0fMWIEjhw5ctfndunSBa6urhg6dCj27dt312NLSkqQl5dXbSNqar+fSsQDS8MQkZADW5USnz7WEeuf684gch+8Ha2x7Jmu2P5KX3T3boGiUi0+/ycGI746iD1RNySdAZKIpKNXGMnIyIBWq71jWWhnZ2ekpqbW+BxXV1d899132Lx5M7Zs2YKAgAAMHToUBw8erPXrLFq0CGq1unK7dc0DosZWqCnDG7+dwZw/zqK4VIf+/o7YPWsAxnf35N0gDaSTuz1+m9YbXz8VDGc7FRKyCvHChlN4ft1JJGYVSl0eETWxet3aW5e5+ysEBARUW2Snd+/eSExMxOeff15tyt1bzZ07F7Nnz678PC8vj4GEmsTlG/mYsfE0LqfdhFwGzB7eFjMG+UFuoFO3GzOZTJwYbmiQM77dG4vVh65g36V0jPjqIN4Y0RbP9fUx2Cnziahh6dUy4ujoCIVCcUcrSFpa2h2tJXfTq1cvXL58udbHVSoV7Ozsqm1EjW37mWQ89O1hXE67iVa2Kvz8Yi+8MsSfQaSR2aiUeGd0IHbNHICePg4oKtXiwx3ReGT5YUQls4uWGsaCBQsQHBx836+zbt26eo9/pNrpFUbMzc0REhKC0NDQavtDQ0PRp0+fOr9ORERE5bLLRFITBAFfhsbgtV8iUFSqRX9/R+x8vX+znA9DSm2cbPDLi72w6NGOsLVQ4mxSLh789hA+332pcq4Sajo1Tclw61aX6ccbSlpaGqZNmwZPT0+oVCq4uLhg5MiROHr0aKN+XW9vbyxZsqTavvHjxyMmJqZRv25zpHc3zezZszFx4kR069YNvXv3xnfffYeEhARMnz4dgNjFcv36dWzYsAEAsGTJEnh7e6N9+/bQaDT46aefsHnzZmzevLlh3wlRPRSXavHG72cq7+74vwG+eHtUILsHJCKXy/B0D08MDWyFBX9ewM5zqfh2Xyz2XkzDl+M7I9CFraRNJSUlpfLfmzZtwvvvv49Lly5V7rt9IbraVtRtCI899hhKS0uxfv16+Pr64saNG/j333+RlZXVKF/vbiwtLe9473T/9J4kYfz48ViyZAkWLlyI4OBgHDx4EDt37oSXlxcA8Rs4ISGh8niNRoM333wTnTp1Qv/+/XHo0CHs2LEDjz76aMO9C6J6SMsrxvjvjmHH2RQo5TJ8+lhHvDsmiEHEALSys8DyCSFYMaErWliZISolDw8tPYwV++Og1fGOm6bg4uJSuanVashkssrPi4uLYW9vj99++w2DBg2ChYUFfvrppxq7Qir+IL3V2rVrERQUBAsLCwQGBmL58uW11pGTk4NDhw7h008/xeDBg+Hl5YUePXpg7ty5GDt2bOVxCQkJePjhh2FjYwM7Ozs8+eSTuHHjRq2vO2jQIMycObPavnHjxlW2+AwaNAjXrl3DrFmzKluDgJq7aVasWIE2bdrA3NwcAQEB+PHHH6s9LpPJ8MMPP+CRRx6BlZUV/P39sX379lpra47qNWPTjBkzcPXqVZSUlCA8PLzaQNR169Zh//79lZ+/9dZbiI2NRVFREbKyshAWFoYxY8bcd+FE9yM27SbGLTuMM4k5sLcyw08v9MT47rVP2kfSGN3RFbtnDcCwoFbQaHX4dNdFjF911LTuuNEU1L6VFutxbNG9j21gb7/9Nl577TVER0dj5MiRdXrO999/j3nz5uGjjz5CdHQ0Pv74Y/znP//B+vXrazzexsYGNjY22LZtG0pKSmo8RhAEjBs3DllZWThw4ABCQ0MRFxeH8ePH1/u9bdmyBe7u7li4cCFSUlKqtRTdauvWrXj99dfxxhtv4Pz585g2bRqee+65O6aw+OCDD/Dkk0/i7NmzGDNmDCZMmCBJy46h4kJ51OycS8rF5LUnkFWgga+TNdZM7g5vR2upy6JatLK1wPeTuuH3U0lY+FcUTl3LxphvwvDJo50wtpMJjD37uHXtj/mPACb8XvX5Z35AaS1BzKsf8NyOqs+XdAQKM6sfs6Bhl4KfOXOm3q3c//3vf/HFF19UPs/HxwdRUVFYtWoVJk+efMfxSqUS69atw4svvoiVK1eia9euGDhwIJ566il06tQJALBnzx6cPXsW8fHxlXde/vjjj2jfvj1OnjyJ7t276/3eHBwcoFAoYGtrCxcXl1qP+/zzzzFlyhTMmDEDgDiU4dixY/j8888xePDgyuOmTJmCp59+GgDw8ccfY+nSpThx4gRGjRqld22miHNZU7NyNC4TT39/DFkFGnRyV+OP6X0YRIyATCbDk9098Pfr/dHV0x75xWV4+efTmLvlLIo0WqnLa7a6deum1/Hp6elITEzE1KlTK1s8bGxs8OGHHyIuLq7W5z322GNITk7G9u3bMXLkSOzfvx9du3bFunXrAADR0dHw8PCoNgVEu3btYG9vj+jo6Hq9t7qKjo5G3759q+3r27fvHV+3IjgBgLW1NWxtbZGWltaotRkTtoxQs7En6gZm/HwamjIdevk64PtJ3WBr0TgD7qhxeDhYYdO03liyJwbL98fhlxOJOHk1G98+08V4B7e+m1z7Y7LbpsifE3uXY2/723LmufrXVEfW1tWDvFwuv2MW3dLS0sp/63TiXVHff/89evbsWe04heLuywFYWFhg+PDhGD58ON5//3288MILmD9/PqZMmVLrXFd3mwPrXrXqoy5zb90+uFcmk1WeD2LLCDUT/4u8jmk/hUNTpsOwIGese64Hg4iRMlPIMWdkIDZO7YlWtqrK8T9bTidJXVr9mFvXvplZ6HGs5b2PbWROTk5ITU2tdpGPjIys/LezszPc3Nxw5coV+Pn5Vdt8fHz0+lrt2rVDQUFB5b8TEhKQmJhY+XhUVBRyc3MRFBRUa623jgPRarU4f/58tWPMzc2h1d695S0oKAiHDh2qtu/IkSO1fl2qGVtGyOTtOJuCWZsioROAR7q4YfHjnWDG1XaNXh8/R/z9en/M/u0MDsSkY/ZvZxB+LRvvP9gOKqXpLrpnyAYNGoT09HQsXrwYjz/+OHbt2oW///672sSVCxYswGuvvQY7OzuMHj0aJSUlOHXqFLKzs6vNvF0hMzMTTzzxBJ5//nl06tQJtra2OHXqFBYvXoyHH34YADBs2DB06tQJEyZMwJIlS1BWVoYZM2Zg4MCBtXYlDRkyBLNnz8aOHTvQpk0bfPXVV8jJyal2jLe3Nw4ePIinnnoKKpUKjo6Od7zOnDlz8OSTT6Jr164YOnQo/vzzT2zZsgV79uy5jzPZ/PA3Mpm03RdS8fqvEdAJwBMh7vjiic4MIiakpY0Ka6d0x8xh/pDJgI3HE/DkyqO4nlN07ydTgwsKCsLy5cuxbNkydO7cGSdOnMCbb75Z7ZgXXngBP/zwA9atW4eOHTti4MCBWLduXa0tIzY2NujZsye++uorDBgwAB06dMB//vMfvPjii/j2228BiF0e27ZtQ4sWLTBgwAAMGzYMvr6+2LRpU621Pv/885g8eTImTZqEgQMHwsfHp9qAUwBYuHAhrl69ijZt2sDJyanG1xk3bhy+/vprfPbZZ2jfvj1WrVqFtWvXYtCgQXqcOZIJRrBMZl2XICa61d6LNzDtx3CUagU80sUNnz/RmXOImLD9l9Iwc1MkcgpL0cLKDN8+0xV9/e78S1YKd1tincjY3e37u67Xb/6JSCbpQEw6pv94GqVaAWM7ueKzxzsxiJi4QQGt8Ocr/dDRTY3swlJMWnMC6w7H3zFIkYgMD8MImZxTV7PwfxtOQaPVYWR7ZywZHwwlu2aaBQ8HK/w+vTce7eIGrU7Agj+j8M7mcygp4+2/RIaMv6HJpFy+kY+p60+hpEyHIYGtsPTprhwj0sxYmCnwxZOdMW9MEOQyYNOpRDzz/XGk59c8eycRSY+/pclkpOYWY/KaE8gtKkUXT3sse6YrzJX8Fm+OZDIZXhzgizVTusPWQonwa9l4+NtDuJiaJ3VpRFQD/qYmk5BXXIopa08gObcYvo7WWD25OyzNeXtnczcooBX+93Jf+DpaIzm3GI+vOIoDMelSl0VEt2EYIaNXUqbFtA3huJiaDydbFdY/3wMO1uZSl0UGwtfJBltm9EFPHwfcLCnD8+tOYuPxa5LUwsG0ZIoa4vuaYYSMmiAIeOuPszh6JRM2KiXWPdcdHg5WUpdFBsbeyhw/Tu2JR7uKA1vnbT2Pj3dGQ6drmnBQMRV4YaEJrTZMVK7i+/r2Ke/1wRlYyaitOBCH/0UmQymXYeWzIWjfWi11SWSgzJVyfPFEZ3i3tMaXoTH47uAVXM8uwpfjOzf6jK0KhQL29vaVC6NZWVnVumYKkbEQBAGFhYVIS0uDvb39PdcXuhuGETJae6Ju4LPdlwAACx5qj37+hjHBFRkumUyG14b6w9PBCnP+OIMd51KQWVCC7yZ1g10jr1VUsQw9V2olU2Nvb1/5/V1fnIGVjFLMjXw8suwwCjRaTOzlhf+O6yB1SWRkDsdmYNqP4bhZUoYgVzusf647Wtk1/uyoWq223qvDEhkaMzOzu7aI1PX6zTBCRie7QIOHlx1GQlYhevk64MepPTmXCNXL+eu5mLL2JDJulsDN3hIbpvZAGycbqcsiMhmcDp5MUqlWhxkbTyMhqxAeDpZYPiGEQYTqrYObGlte6gPvlla4nlOEJ1YexbmkXKnLImp2+FucjMpnuy/h6JVMWJsr8MOk7ryFl+6bZ0sr/PFSH3R0UyOrQINnvj+G41cypS6LqFlhGCGj8c+FVHx38AoA4PMnOiPAxVbiishUONqo8POLPdHTxwH5JWWYtOYE9l3kQFOipsIwQkYhMasQb/5+BgDwfF8fjO7oKnFFZGpsLcyw/vkeGBLYCiVlOry44RT+PJMsdVlEzQLDCBm8kjItXv75NPKKy9DF0x7vjA6UuiQyURZmCqyaGIIHO7dGmU7Aa79GYNPJBKnLIjJ5DCNk8D7aEY2zSbmwtzLDt1z8jhqZmUKOJeOD8UxPTwgC8Pbmc/jxmDTTxxM1F/ytTgbtzzPJ2HBUvBB89WQw3OwtJa6ImgOFXIaPxnXAc329AQD/2XYeaw7FS1sUkQljGCGDlZhViHe3nAMAzBjUBoMDW0lcETUnMpkM7z/QDtMG+gIAFv4Vhe8OxklcFZFpYhghg6TVCZj9WyTyS8oQ4tUCs4e3lbokaoZkMhneGRWIV4f4AQA+3nkRy/bFSlwVkelhGCGDtPJAHE5ezYaNSokl44Oh5MRmJBGZTIY3RgRUBuLPdl9iICFqYPwNTwbnXFIuvgqNASAugOfhYCVxRUTAa0P9MWdkAAAxkKzYzy4boobCMEIGpUijxeubIlCmEzCmowse6+omdUlElV4e7Ic3yltIPt11Ed+XT8JHRPeHYYQMykc7o3AlvQDOdip8/EhHyGQyqUsiqubVof6YOcwfAPDRzmis5l02RPeNYYQMxr6LafjpmDjB1BdPBMPeiuvOkGF6fah/5aDW//4VhfVHrkpbEJGRYxghg5BXXIq55bfxPt/XB/38HSWuiKh2MpkMs4e3xYxBbQAA87dfwG+nEiWuish4MYyQQVi0MxqpecXwbmlVOUiQyJDJZDLMGRmAqf18AADvbD7LtWyI6olhhCR3ODYDv5wQ/6r89LFOsDRXSFwRUd3IZDK8NzYIT/fwhE4AZm2KxJ6oG1KXRWR0GEZIUgUlZXhny1kAwMReXujp21Liioj0I5PJ8OG4DhgXLC6uN+Pn0zh0OUPqsoiMCsMISeqz3ZeQmFUEN3tLvM3VeMlIKeQyfP5EZ4xs7wxNmQ4vbjiF8GvZUpdFZDQYRkgyJ69mYf3RqwCARY92hI1KKW1BRPdBqZDjm6e7YEBbJxSVavH8upO4lJovdVlERoFhhCRRUqbF25vPQhCAJ0LcMaCtk9QlEd03lVKBlc92RVdPe+QWlWLi6uNIzCqUuiwig8cwQpJYdeAKrqQXwMlWhffGtpO6HKIGY2WuxJop3RHgbIu0/BI8u/o40vNLpC6LyKAxjFCTu5ZZgG/LFxp7b2wQ1FZmEldE1LDsrcyxYWoPuLewxLXMQkxacwK5RaVSl0VksBhGqEkJgoD3/3cBmjId+vq1xEOdW0tdElGjcLazwE9Te8LRxhzRKXl4cf0pFJdqpS6LyCAxjFCT2nU+FQdi0mGukOO/D3fg2jNk0rwdrbH++R6wVSlx4moWZm2KhFYnSF0WkcFhGKEmc7OkDB/8GQUAmD7QF75ONhJXRNT42rdWY9WkEJgr5Pj7fCoW/nkBgsBAQnQrhhFqMktCY5CaVwxPByvMGOwndTlETaZPG0d88WRnAMD6o9ew4kCcxBURGRaGEWoS0Sl5WFu+sukHD7eHhRmnfKfm5cHOrfH+A+KdY4t3XcLm8CSJKyIyHAwj1OgEQcD87Reg1QkY3cEFgwNaSV0SkSSe7+eDaQN8AQBvbz6LgzHpEldEZBgYRqjR/X0+FSfis2BhJsd7D3BOEWre3h4VWLWOzcbTiE7Jk7okIskxjFCjKi7V4uOd0QCA/xvQBm72lhJXRCQtuVyGxY93Ri9fB9wsKcPz604iNbdY6rKIJMUwQo1q9aF4JGUXwcXOAtMH+kpdDpFBMFfKserZbmjjZI2U3GI8v+4kbpaUSV0WkWQYRqjR3MgrxrLymVbfGR0IK3MuhEdUQW1lhnXP9YCjjTmiUvLw8sbTKNPqpC6LSBIMI9RoFu+6hEKNFl087fFwMGdaJbqdh4MVVk/uDgszOQ7EpOP97ZyDhJonhhFqFGeTcrD5tHjr4vwH23OmVaJadPawxzdPdYFMBvx8PAGrD8VLXRJRk6tXGFm+fDl8fHxgYWGBkJAQhIWF1el5hw8fhlKpRHBwcH2+LBkJQRCwsHym1Ue7uCHYw17agogM3Ij2Lpg3JggA8NHOaOyJuiFxRURNS+8wsmnTJsycORPz5s1DREQE+vfvj9GjRyMhIeGuz8vNzcWkSZMwdOjQehdLxmH3hVScupYNSzMF3hoVKHU5REZhaj8fPN3DE4IAvPZrBKKSecsvNR96h5Evv/wSU6dOxQsvvICgoCAsWbIEHh4eWLFixV2fN23aNDzzzDPo3bt3vYslw1em1WHxrksAgBcH+MJFbSFxRUTGQSaTYeHD7dHXryUKNVq8sP4k0vJ4yy81D3qFEY1Gg/DwcIwYMaLa/hEjRuDIkSO1Pm/t2rWIi4vD/Pnz6/R1SkpKkJeXV20j4/DbqSRcyShAS2tzvNjfR+pyiIyKmUKO5c+EwNfJGsm5xXhxwykUabRSl0XU6PQKIxkZGdBqtXB2dq6239nZGampqTU+5/Lly3jnnXewceNGKJV1u7Vz0aJFUKvVlZuHh4c+ZZJECjVlWLInBgDw6hA/2FqYSVwRkfFRW5lhzeTusLcyw5mkXLy1+SzvsCGTV68BrLffGSEIQo13S2i1WjzzzDP44IMP0LZt2zq//ty5c5Gbm1u5JSYm1qdMamJrD19FWn4JPBws8UxPL6nLITJa3o7WWPVsCJRyGf48k1w5Xw+RqdJrFipHR0coFIo7WkHS0tLuaC0BgPz8fJw6dQoRERF45ZVXAAA6nQ6CIECpVOKff/7BkCFD7nieSqWCSqXSpzSSWFaBBiv3i8uivzkiAOZK3jVOdD96+rbEwoc74N2t5/D5PzHwd7bFyPYuUpdF1Cj0umKYm5sjJCQEoaGh1faHhoaiT58+dxxvZ2eHc+fOITIysnKbPn06AgICEBkZiZ49e95f9WQwvt0bi/ySMrRvbYcHO3GCM6KG8ExPT0zuLbYyztoUiYupHD9Hpknv+blnz56NiRMnolu3bujduze+++47JCQkYPr06QDELpbr169jw4YNkMvl6NChQ7Xnt2rVChYWFnfsJ+OVmFWIH49dBSCuSCqXc4IzoobynwfaITb9Jg7HZuKF9afwv5f7oqUNW47JtOjdlj5+/HgsWbIECxcuRHBwMA4ePIidO3fCy0tM7ykpKfecc4RMy1d7YlCqFdDXryX6+ztKXQ6RSVEq5Fj2TFd4tbRCUnYRXtp4GqVcw4ZMjEwwgmHaeXl5UKvVyM3NhZ2dndTl0C3i0m9i+JcHoBOA/73cF5052ypRo4hNy8e4ZUdws6QMk3t74YOH2bpMhq+u12+OMqT78s2/l6ETgGFBzgwiRI3Ir5UtlowPBgCsP3oNv53iXYZkOhhGqN5ibuRj+5lkAMDMYf4SV0Nk+oa1c8asYeI0Ce9tPY+IhGyJKyJqGAwjVG9f77kMQQBGtXdBBze11OUQNQuvDvHDiHbO0Gh1mP5TONLyOWU8GT+GEaqX6JQ87DiXAgCYOZytIkRNRS6X4cvxwfBrZYMbeSWY8dNpaMo4oJWMG8MI1UvFtO9jO7ki0IWDiomako1Kie8mhsDWQolT17Kx8K8LUpdEdF8YRkhv56/nYveFG5DJgFkcK0IkCV8nG3zzVBfIZMBPxxLwR3iS1CUR1RvDCOmtolXk4c6t4dfKVuJqiJqvwYGt8PpQ8Q+CeVvP4fz1XIkrIqofhhHSy7mkXOyJToNcBrw2lK0iRFJ7bYg/Bgc4oaRMh5c2hiOnUCN1SUR6YxghvXy77zIA4OFgN/g62UhcDRHJ5TIsGd8Fng5WSMwqwsxNkdDpDH4uS6JqGEaozi7fyK8cK/Ly4DZSl0NE5dRWZlj5bAgszOTYfykdX/97WeqSiPTCMEJ1tnx/HABgZDsXjhUhMjDtWtth0aMdAQBf/3sZ+y6lSVwRUd0xjFCdJGQWVs62+vJgP4mrIaKaPNLFHRN7iYuWztoUiaTsQokrIqobhhGqk5UH46DVCRjY1gkd3TnbKpGheu+BIHR2VyOnsBQv/xyBkjKt1CUR3RPDCN1Tam4x/jglzmHAVhEiw6ZSKrBsQleoLc1wJjEHH++IlrokontiGKF7+iHsCjRaHXp4O6CHj4PU5RDRPbi3sKq2wm9FFyuRoWIYobvKKtBg4/EEAMDLQ9gqQmQsBge2wivlLZnvbD6L2LR8iSsiqh3DCN3V2sPxKCrVoqObGgP8HaUuh4j0MGt4W/Rp0xKFGi1e+uk0CjVlUpdEVCOGEapVQUkZNhy9BgCYMagNZDKZxBURkT4Uchm+fqoLnGxVuJx2E/P/xwX1yDAxjFCtfj+ViNyiUvg4WmNEexepyyGienCyVeHrp4IhlwG/hydxQT0ySAwjVKMyrQ6rD8cDAKb284FCzlYRImPVp40jZg5rCwD4z7bzuHyD40fIsDCMUI12X7iBxKwiOFib47Gu7lKXQ0T36eXBfujn54iiUi1mbOT4ETIsDCN0B0EQ8N1Bcer3ib28YGmukLgiIrpfCrkMX40P5vgRMkgMI3SHE/FZOJOUC5VSjom9vaQuh4gayO3jR7ac5vgRMgwMI3SH78OuAAAeC3GHo41K4mqIqCH1aeOI14b6AwDe23YeV9JvSlwREcMI3SY27Sb2RKdBJgNe6OcjdTlE1AheHeKPnj4OKNRo8eovXL+GpMcwQtWsPiS2igwPcoavk43E1RBRY6iYf6SFlRkuJOfh078vSV0SNXMMI1QpPb8Em09fBwD83wBfiashosbkorbAF092BgCsORyPPVE3JK6ImjOGEaq08fg1aMp0CPawR4hXC6nLIaJGNiTQGVPLu2Pn/HEGKblFEldEzRXDCAEANGU6/HRMXBBvaj8fTv1O1Ey8NSoAHd3UyC4sxcxfI6HVCVKXRM0QwwgBAHaeS0HGzRI426kwqgOnfidqLlRKBZY+3QXW5gocj8/CygNxUpdEzRDDCAEA1h65CkCc5MxMwW8LoubE29EaCx/uAAD4MjQGpxOyJa6ImhtedQgRCdk4k5gDc6UcT/fwlLocIpLAo13d8FDn1tDqBLz+awTyi0ulLomaEYYRwrryVpGHOrdGS05yRtQsyWQyfPhIB7i3sERiVhHe53Tx1IQYRpq5G3nF2HE2BQAwpY+3tMUQkaTsLMwqp4vfGnEdWyM4XTw1DYaRZm7j8QSU6QR0926BDm5qqcshIomFeDng9aFtAQDvbT2Pa5kFEldEzQHDSDNWUqbFz8evAQCm9OHU70QkenlwG3T3boECjRazNkWiTKuTuiQycQwjzdiOsynIuKmBq9oCI9o7S10OERkIpUKOL58Mhq1KidMJOVi2j7f7UuNiGGnGKgauPsvbeYnoNh4OVlg4rj0A4Ju9lxHB232pEfEK1EydTcrB2aRcmCvkeKq7h9TlEJEBGhfshgfLb/edtSkSBSVlUpdEJophpJnaWD71+5iOLrydl4hqJJPJ8OG4DmittsDVzEL8968oqUsiE8Uw0gzlFpXif2fE1Xkn9PKSuBoiMmRqSzN8OT4YMhnw68lE7DqfKnVJZIIYRpqhraeTUFyqQ4CzLbpxdV4iuodevi0xbUAbAMDcLWeRll8scUVkahhGmhlBELDxuNhFM6GXJ1fnJaI6mT28Ldq52iG7sBTvbD4HQeDqvtRwGEaamRPxWbicdhNW5go80sVN6nKIyEiYK+VY8lQwzJVy7L2Yhl9OJEpdEpkQhpFmpqJV5OHg1rC1MJO4GiIyJm2dbfHWyAAAwIc7ojg7KzUYhpFmJONmCf4+L65DM6EnB64Skf6e7+uDXr4OKOTsrNSAGEaakd9PJaFUK6Czhz3XoSGiepHLZfj8ic6Vs7OuOnhF6pLIBDCMNBM6nYCfT4jr0Ezo6SlxNURkzNxbWGHBQ+LsrF+FxuD89VyJKyJjxzDSTITFZiAxqwh2Fko82Km11OUQkZF7tKsbRndwQZlOwBu/nUFJmVbqksiIMYw0E7+eEAeuPtrVHZbmComrISJjVzE7q6ONOS7dyMdXoZelLomMGMNIM5BxswShUTcAAE/14Do0RNQwWtqo8NEjHQEA3x2MQ/i1LIkrImPFMNIMbD19HWU6ceBqoIud1OUQkQkZ2d4Fj3Z1g04A3vjtDAo1XEyP9McwYuIEQcCmU+LkROO7sVWEiBre/Afbw8VOXExv8a5LUpdDRqheYWT58uXw8fGBhYUFQkJCEBYWVuuxhw4dQt++fdGyZUtYWloiMDAQX331Vb0LJv2cTshGbNpNWJop8GBnV6nLISITpLY0w+LHOwEA1h25iiOxGRJXRMZG7zCyadMmzJw5E/PmzUNERAT69++P0aNHIyEhocbjra2t8corr+DgwYOIjo7Ge++9h/feew/ffffdfRdP97bppNgqMraTK2dcJaJGM6CtU+W0AXP+OIv84lKJKyJjIhP0XO2oZ8+e6Nq1K1asWFG5LygoCOPGjcOiRYvq9BqPPvoorK2t8eOPP9bp+Ly8PKjVauTm5sLOjmMe6upmSRl6fLQHhRotfp/eG929HaQuiYhMWEFJGUZ9fRCJWUV4uocnFj3aUeqSSGJ1vX7r1TKi0WgQHh6OESNGVNs/YsQIHDlypE6vERERgSNHjmDgwIH6fGmqh7/OJKNQo4WvkzW6ebWQuhwiMnHWKiUWP9YZAPDLiQSEXU6XuCIyFnqFkYyMDGi1Wjg7O1fb7+zsjNTU1Ls+193dHSqVCt26dcPLL7+MF154odZjS0pKkJeXV20j/VUMXH2ymwdkMpnE1RBRc9C7TUtM7i2uffU2u2uojuo1gPX2C5sgCPe82IWFheHUqVNYuXIllixZgl9++aXWYxctWgS1Wl25eXjwLhB9xdzIR0RCDpRyGR7t6iZ1OUTUjLw9OhCeDlZIzi3GxzujpS6HjIBeYcTR0REKheKOVpC0tLQ7Wktu5+Pjg44dO+LFF1/ErFmzsGDBglqPnTt3LnJzcyu3xMREfcokVA1cHRLYCq1sLSSuhoiaEytzZeXdNb+cSMTBGHbX0N3pFUbMzc0REhKC0NDQavtDQ0PRp0+fOr+OIAgoKSmp9XGVSgU7O7tqG9WdpkyHrRHXAQDju7NViYiaXi/flpjSxxsA8M7ms8hjdw3dhVLfJ8yePRsTJ05Et27d0Lt3b3z33XdISEjA9OnTAYitGtevX8eGDRsAAMuWLYOnpycCAwMBiPOOfP7553j11Vcb8G3QrfZdSkNWgQZOtioMbOskdTlE1Ey9NSoA+y6l4VpmIT7eEY1PHuskdUlkoPQOI+PHj0dmZiYWLlyIlJQUdOjQATt37oSXlzhgKSUlpdqcIzqdDnPnzkV8fDyUSiXatGmDTz75BNOmTWu4d0HVbDmdBAB4pIsblApOsktE0rAyV2LxY50w/rtj+PVkIh7o1Br9/B2lLosMkN7zjEiB84zUXXaBBj0+3oNSrYDdMwcgwMVW6pKIqJl7/3/nseHoNbi3sMTumQNgrdL772AyUo0yzwgZvj/PJqNUK6B9azsGESIyCG+NCoSbvSWSsouweNdFqcshA8QwYmI2h4tdNI91dZe4EiIikY1KiU8eE2djXX/0Gk7EZ0lcERkahhETEpuWjzNJuVDKZXgouLXU5RARVerv74Snyu/ue+uPMyjSaCWuiAwJw4gJ2XxavJ13UIATHG1UEldDRFTdu2OD4GJngauZhfgy9JLU5ZABYRgxEVqdgK3lYYRdNERkiOwszPDRIx0AAKsPxSMiIVviishQMIyYiKNxmUjNK4ba0gxDglpJXQ4RUY2GBjljXHBr6ATgnc3noCnTSV0SGQCGEROxuXxukQc7u0KlVEhcDRFR7d5/sD0crM1x6UY+VuyPk7ocMgAMIybgZkkZdp0X1wtiFw0RGToHa3PMf7AdAODbfZdx+Ua+xBWR1BhGTMDf51JQVKqFr6M1gj3spS6HiOieHurcGkMCW6FUK+DtzWeh1Rn8/JvUiBhGTMD/IpMBAI92dYNMJpO4GiKie5PJZPhwXAfYqJQ4nZCDDUevSl0SSYhhxMil5RXjSFwGAODhYDeJqyEiqrvW9pZ4e7S4iOpnuy8hKbtQ4opIKgwjRu7PsynQCUCIVwt4OFhJXQ4RkV4m9PBED28HFGq0eHfreRjBcmnUCBhGjNz2SHFukYc54yoRGSG5XIZFj3WEuVKOgzHp2H4mWeqSSAIMI0YsPqMAZ5JyoZDLMKajq9TlEBHVSxsnG7w62A8AsPDPKGQXaCSuiJoaw4gR+195q0g/P0dO/05ERm3awDYIcLZFZoEGH+6IlrocamIMI0ZKEARsL7+Lhl00RGTszJVyfPxoR8hk4iSOh2MzpC6JmhDDiJE6fz0PVzIKYGEmx4j2LlKXQ0R030K8WmBiLy8AwLtbz6G4lCv7NhcMI0ZqW3kXzbAgZ9iolBJXQ0TUMOaMDICLnQWuZRZiyZ7LUpdDTYRhxAhpdQL+PFPRRcO5RYjIdNhamOG/48SVfb8Pu4Ko5DyJK6KmwDBihI5fyURafgnUlmYY2NZJ6nKIiBrU8HbOGN3BBVqdgHe3nuNU8c0Aw4gRqpj+fUxHF5gr+V9IRKZnwUPtYaNSIjIxBz8fvyZ1OdTIeCUzMiVlWuw8nwIAeKgzu2iIyDQ521ngrVEBAIDFuy7hRl6xxBVRY2IYMTIHYzKQX1wGZzsVevg4SF0OEVGjmdDTC5097JFfUoaFf0ZJXQ41IoYRI7PjbEUXjSsUcq7QS0SmSyGXYdEjHaGQy7DjXAr2XrwhdUnUSBhGjEhxqRahUeIP4wOdONEZEZm+dq3t8EI/HwDAf7ZdQKGmTOKKqDEwjBiRAzHpKNBo0VptgS4e9lKXQ0TUJF4f5g83e0tczyni3CMmimHEiOw4Kw5cHdPRFXJ20RBRM2FlrsSH5XOPrD4Uj+gUzj1iahhGjESRRos90WIXzdhOXKGXiJqXwYGtKuceeW/beeg494hJYRgxEvsvpaFQo4WbvSWC2UVDRM3Q+w+2g7W5AuHXsvHbqUSpy6EGxDBiJP46J3bRPNDJFTIZu2iIqPlxVVti1vC2AIBFf19E5s0SiSuihsIwYgQKNWXYG50GgF00RNS8TenjjSBXO+QWlWLR3xelLocaCMOIEdh3MR1FpVp4OFiio5ta6nKIiCSjVMjx8SMdIJMBf4Qn4diVTKlLogbAMGIEdpwTJzob27E1u2iIqNnr4tkCT/fwBAC8t+08NGU6iSui+8UwYuAKSsqw96LYRfMAu2iIiAAAb48MREtrc8Sm3cQPh65IXQ7dJ4YRA/fvxTQUl+rg1dIK7VvbSV0OEZFBUFuZYd7YIADA0n9jcT2nSOKK6H4wjBi4neUTnY3tyLtoiIhu9UgXN/TwcUBRqRYL/7wgdTl0HxhGDFihpgz7Y8QumjEd2UVDRHQrmUyG/z7cAQq5DLsv3MC+8i5tMj4MIwbsYEw6ikt1cG9hyS4aIqIaBLjYYmr5Qnrzt19AcalW4oqoPhhGDNiu86kAgFHtXdhFQ0RUi9eH+sPFzgIJWYVYsT9O6nKoHhhGDFRJmRb/lk90Nrqji8TVEBEZLmuVEv95oB0AYMWBOFzNKJC4ItIXw4iBOhKXifySMrSyVaGLRwupyyEiMmhjOrqgv78jNGU6zN9+AYLAhfSMCcOIgdp1TuyiGdneBXI5u2iIiO5GJpNh4cMdYK6Q40BMOv6JuiF1SaQHhhEDVKbVITRa/EEa1YFdNEREdeHjaI0XB4iDWRf+GYUiDQezGguGEQN08mo2sgo0sLcyQw8fB6nLISIyGi8P9kNrtQWu5xRhxf5YqcuhOmIYMUC7zosTnQ0PcoaZgv9FRER1ZWVeNZh15cEruJbJwazGgFc6A6PTCdh9gV00RET1NapD1WDWD/6MkrocqgOGEQMTmZSD1Lxi2KiU6OvnKHU5RERGRyaTYcFD7WGmkGHvxTTs4WBWg8cwYmB2l090NjiwFSzMFBJXQ0RknNo42WBqP18AwAd/cWZWQ8cwYkAEQcCuC1WzrhIRUf29OsQPrmoLJGYVYeUBzsxqyBhGDMjF1HxcyyyESinHoAAnqcshIjJq1iol3h0TBABYsT8OSdmFEldEtWEYMSD/lA9c7e/vCGuVUuJqiIiM3wOdXNHL1wElZTp8tCNa6nKoFgwjBiQ0WuyiGd7OWeJKiIhMQ8VgVrkM+Pt8Kg7HZkhdEtWAYcRAJOcU4fz1PMhkwJBAhhEiooYS6GKHib28AAALtl9AqVYncUV0O4YRA7GnfPr3rp4t4GSrkrgaIiLTMnt4AByszXE57SY2HL0mdTl0m3qFkeXLl8PHxwcWFhYICQlBWFhYrcdu2bIFw4cPh5OTE+zs7NC7d2/s3r273gWbqtDy++DZRUNE1PDUVmaYMzIAALAkNAbp+SUSV0S30juMbNq0CTNnzsS8efMQERGB/v37Y/To0UhISKjx+IMHD2L48OHYuXMnwsPDMXjwYDz44IOIiIi47+JNRV5xKY5dyQTAMEJE1Fie7OaBjm5q5JeUYfGui1KXQ7eQCYIg6POEnj17omvXrlixYkXlvqCgIIwbNw6LFi2q02u0b98e48ePx/vvv1+n4/Py8qBWq5Gbmws7Ozt9yjUKf55Jxqu/RMDXyRp73xgkdTlERCYr/Fo2HltxBADwv5f7orOHvbQFmbi6Xr/1ahnRaDQIDw/HiBEjqu0fMWIEjhw5UqfX0Ol0yM/Ph4ND7avRlpSUIC8vr9pmythFQ0TUNEK8WuDRLm4AgAV/XoCef49TI9ErjGRkZECr1cLZufpF09nZGampqXV6jS+++AIFBQV48sknaz1m0aJFUKvVlZuHh4c+ZRqVUq0O+y6lAQBGMIwQETW6t0cHwspcgYiEHGyLvC51OYR6DmCVyWTVPhcE4Y59Nfnll1+wYMECbNq0Ca1atar1uLlz5yI3N7dyS0xMrE+ZRuH4lSzkF5ehpbU5gj1aSF0OEZHJc7azwMuD/QAAn/x9EQUlZRJXRHqFEUdHRygUijtaQdLS0u5oLbndpk2bMHXqVPz2228YNmzYXY9VqVSws7Ortpmq0CjxXA4NagWF/N6BjoiI7t/Ufj7wdLDCjbwSLN8fK3U5zZ5eYcTc3BwhISEIDQ2ttj80NBR9+vSp9Xm//PILpkyZgp9//hljx46tX6UmSBCEW8aLcGE8IqKmYmGmwLyx4ro134fFIyGT69ZISe9umtmzZ+OHH37AmjVrEB0djVmzZiEhIQHTp08HIHaxTJo0qfL4X375BZMmTcIXX3yBXr16ITU1FampqcjNzW24d2GkLiTnITm3GBZmcvTzc5S6HCKiZmVEO2f083OEpkyHj3ZGSV1Os6Z3GBk/fjyWLFmChQsXIjg4GAcPHsTOnTvh5SVOtZuSklJtzpFVq1ahrKwML7/8MlxdXSu3119/veHehZGqmHW1v78TLM0VEldDRNS8yGQyvP9gOyjkMuy+cIPr1khI73lGpGCq84w8sDQM56/nYfHjnfBkN9O9Y4iIyJAt2H4B645cRYCzLXa81g9KBVdKaSiNMs8INZwbecWVC+MNDqj9ziIiImpcM4f5Q21phks38vHrSdO9e9OQMYxIZN9FcW6Rzu72XBiPiEhC9lbmmDXMHwDwZWgMcotKJa6o+WEYkci/5WFkSCBbRYiIpDahlxf8Wtkgq0CDpf9elrqcZodhRALFpVocuiwOlGIYISKSnplCjvfKb/Vdd+QqrqTflLii5oVhRALH47NQVKqFs50K7VubzoBcIiJjNiigFQYHOKFMJ+DjndFSl9OsMIxIYG/5Lb1DAlvVaRp9IiJqGvPGtoNSLsOe6DSEXU6Xupxmg2GkiQmCcMt4ES6MR0RkSPxa2WBib3HerP/+FYUyrU7iipoHhpEmFpt2E0nZRTBXytHXr6XU5RAR0W1mDm0LeyszxNy4yVt9mwjDSBOraBXp7dsSVuZKiashIqLbqa3MMGtYWwDAV6ExyCvmrb6NjWGkie2NFsPI0CDeRUNEZKie6ekJXydrZBZosHxfnNTlmDyGkSaUU6hBeEI2AM66SkRkyMwUcswbI97qu+ZQPBKzuKpvY2IYaUIHYtKh1Qlo62wDDwcrqcshIqK7GBLYSlzVV6vDJ7suSl2OSWMYaUIVU8AP5kRnREQGTyaTYd7YIMhkwI6zKTh1NUvqkkwWw0gTKdPqsD9GvGd9KG/pJSIyCkGudhhfvqr6f3dEQ6cz+IXujRLDSBOJSMxBTmEp1JZm6OppL3U5RERUR7NHtIW1uQJnEnOw/Uyy1OWYJIaRJrL/kthFM6CtE5QKnnYiImPRytYCMwb7AQA+230JxaVaiSsyPbwqNpED5V00g9o6SVwJERHpa2o/H7RWW+B6ThHWHI6XuhyTwzDSBNLyi3H+eh4AsWWEiIiMi4WZAnNGBQAAlu+LQ+bNEokrMi0MI00gLCYDANDBzQ5OtiqJqyEiovp4uLMbOrjZ4WZJGZbsuSx1OSaFYaQJ7K/souEtvURExkoul2HemHYAgJ9PJCA27abEFZkOhpFGptUJlctQDwxgFw0RkTHr3aYlhgU5Q6sT8MnfnAitoTCMNLIzSeItvXYWSnTxsJe6HCIiuk/vjA6EQi7DnugbOBqXKXU5JoFhpJEduCS2ivT35y29RESmwK+VDZ7p4QkA+GhnFCdCawC8OjayivEiA3kXDRGRyZg5zB82KiXOX8/D/85cl7oco8cw0ogyb5bgbFIOAI4XISIyJS1tVHhpUBsAwOe7YzgR2n1iGGlEh2IzIAhAoIstnO0spC6HiIga0NR+PnAtnwht/ZGrUpdj1BhGGtH+8vEigwJ4Sy8RkamxMFNg9vC2AIBv98Uiu0AjcUXGi2Gkkeh0Ag5WzC/CLhoiIpP0aFd3BLrYIr+4DMv2xUpdjtFiGGkk55NzkVmggY1KiRCvFlKXQ0REjUAhl2HumCAAwIaj15CYVShxRcaJYaSRVNzS29evJcx4Sy8Rkcka4O+Ifn6O0Gh1+Gz3JanLMUq8SjaSA5W39HK8CBGRKZPJZHhndCBkMmD7meTKuyip7hhGGkFuUSkiEnMA8JZeIqLmoIObGo8EuwEAPt4ZDUHgRGj6YBhpBEfjMqHVCfB1soabvaXU5RARURN4Y2QAzJVyHLuSVTnhJdUNw0gjOBQrfhMO8GerCBFRc+Fmb4nJvb0AAJ/+fRFaThNfZwwjjSDscgYAoL+/o8SVEBFRU3p5sB9sLZS4mJqPbRGcJr6uGEYaWEJmIa5lFkIpl6Gnb0upyyEioiZkb2WOGYP8AABfhnKa+LpiGGlgYeVdNF29WsBGpZS4GiIiamrP9fWGi504TfyPR69JXY5RYBhpYGExYhfNAHbREBE1S7dPE59bVCpxRYaPYaQBlWl1OBwnhpF+HLxKRNRsPdrVDf6tbJBbVIqVB+KkLsfgMYw0oDNJucgvLoPa0gwd3dRSl0NERBJRKuR4e1QgAGDNoXik5BZJXJFhYxhpQIfK76Lp5+cIhVwmcTVERCSloUGt0N27BUrKdPh6z2WpyzFoDCMNKOyyOHiVt/QSEVHFNPEA8NupRMSm3ZS4IsPFMNJA8oqrpoDvxzBCREQAQrwcMCzIGToB+OIfLqJXG4aRBnKsYgp4R2u4t7CSuhwiIjIQb40KgEwG/H0+FZHlf7RSdQwjDYSzrhIRUU3aOtvi0S7uAMRp4rmI3p0YRhpIxXgR3tJLRES3mzXcH+YKOY5eyaz845WqMIw0gMSsQlwtnwK+l6+D1OUQEZGBcW9hhYkVi+jtuggdF9GrhmGkAVSk3K6eLWBrYSZxNUREZIheHuwHG5USF5LzsONcitTlGBSGkQZwOFYMI339OF6EiIhq5mBtjv8b4AtAvLOmVKuTuCLDwTByn3Q6AUfiKsIIV+klIqLaTe3nA0cbc1zNLMTvp5KkLsdgMIzcp+jUPGQXlsLaXIHOHvZSl0NERAbMWqXEy4P9AABf/xuD4lKtxBUZBoaR+3QkNhMA0MPHAWYKnk4iIrq7Z3p6ws3eEjfySrDh6FWpyzEIvHrep8NxHC9CRER1p1Iq8PowfwDA8v1xyCsulbgi6dUrjCxfvhw+Pj6wsLBASEgIwsLCaj02JSUFzzzzDAICAiCXyzFz5sz61mpwNGU6nIjPAgD0acMwQkREdfNoFze0cbJGTmEpfgiLl7ocyekdRjZt2oSZM2di3rx5iIiIQP/+/TF69GgkJCTUeHxJSQmcnJwwb948dO7c+b4LNiRnknJQqNHCwdocgS62UpdDRERGQqmQ440RAQCA1WFXkHmzROKKpKV3GPnyyy8xdepUvPDCCwgKCsKSJUvg4eGBFStW1Hi8t7c3vv76a0yaNAlqtfq+CzYkFbf09m7TEnK5TOJqiIjImIzu4IKObmoUaLRYti9O6nIkpVcY0Wg0CA8Px4gRI6rtHzFiBI4cOdJgRZWUlCAvL6/aZogqBq/2ZRcNERHpSSaTYc5IsXXkp2PXcD2nSOKKpKNXGMnIyIBWq4Wzs3O1/c7OzkhNTW2wohYtWgS1Wl25eXh4NNhrN5RCTRkiErMBcH4RIiKqn/7+jujl6wCNVoel/16WuhzJ1GsAq0xWvUtCEIQ79t2PuXPnIjc3t3JLTExssNduKCfis1CqFeBmbwlPByupyyEiIiN0a+vI7+FJiM8okLgiaegVRhwdHaFQKO5oBUlLS7ujteR+qFQq2NnZVdsMzZG48i4av5YNGsSIiKh5CfFywOAAJ2h1ApbsiZG6HEnoFUbMzc0REhKC0NDQavtDQ0PRp0+fBi3M0HE9GiIiaigVd9ZsP5OMS6n5ElfT9PTuppk9ezZ++OEHrFmzBtHR0Zg1axYSEhIwffp0AGIXy6RJk6o9JzIyEpGRkbh58ybS09MRGRmJqKiohnkHEsgu0CAqRRxU27sNx4sQEdH96eCmxpiOLhAE4MvQS1KX0+SU+j5h/PjxyMzMxMKFC5GSkoIOHTpg586d8PLyAiBOcnb7nCNdunSp/Hd4eDh+/vlneHl54erVq/dXvUSOXsmEIABtnW3QytZC6nKIiMgEzB7eFrvOp2L3hRs4m5SDTu72UpfUZGSCIAhSF3EveXl5UKvVyM3NNYjxI/O2nsPG4wmY0scbCx5qL3U5RERkImZvisSWiOsY0NYJG57vIXU5962u12+uTVMPVYNXOV6EiIgazsxhbaGUy3AwJr1yuZHmgGFETym5RYjPKIBcBvT0dZC6HCIiMiGeLa3wZHdxbq3Pd1+CEXReNAiGET0duyK2inRwU8POwkziaoiIyNS8NsQf5ko5TlzNwqHyOzdNHcOIno7Fic1mvX15Fw0RETU8F7UFnu0p3hTyxT8xzaJ1hGFET0fLW0Z6MYwQEVEjeWlQG1iaKRCZmIO9F9OkLqfRMYzo4XpOERKyCqGQy9DNu4XU5RARkYlyslVhUh+xdeTLUNNvHWEY0cOxuKrxIrYcL0JERI1o2oA2sDZX4EJyHnZfaLjFaA0Rw4geKgavcrwIERE1NgdrczzfzwcA8FXoZeh0pts6wjCih6rxIryll4iIGt8L/Xxha6HEpRv5+OtcitTlNBqGkTpKzCpEUnYRFHIZunszjBARUeNTW5nhxf6+AIAle2JQptVJXFHjYBipo4oumk7ualir9F7Sh4iIqF6e6+uNFlZmuJJegP9FJktdTqNgGKmjY1c4vwgRETU9WwszTBvYBgDwzd7LJtk6wjBSB4IgVLaMcH4RIiJqapN6e6GltTmuZRZiS8R1qctpcAwjdZCUXYTrOUVQcn4RIiKSgJW5EtPLW0eW7r2MUhNrHWEYqYOKu2g6e9jDypzjRYiIqOk928sLjjYqJGYVYXN4ktTlNCiGkTqomOyM40WIiEgqluYKTB8o3lmzdG8sNGWm0zrCMHIPHC9CRESG4tleXnCyVeF6ThF+D0+UupwGwzByDwlZhUjOLYaZQoYQL44XISIi6ViYKTBjkDh2ZNneWJSUaSWuqGEwjNxDRatIsIc9LM0VEldDRA1CpwXKSgBNIVByEyjJr/54UQ5QkFm1FWYBRdni/tuPJWpiT/fwhLOdCsm5xfjtlGmMHeFozHs4Xj6/CLtoiJpIxmWgOFe86GtuApoCcSstBCxbAF2erTp2x5tAXjJQViSGi7Liqo9qD2DStqpjVw0EblwAdGUAblvjw84dmH2h6vOfHgOun6q5PpUamJtQ9fmGccDVQ4DCTNzkZoDCHFCaA2ZWwIyjVceGfQmkRIr7zSwBc2vA3Eb83Nwa6DpJfA0AyE0S34uFPWBhV7Wfmj2xdcQP87dfwLK9sXgixB0WZsb9xzLDyD0cjxfDSE8fhhGiu9LpgOIcsRUBABz9qh478BlQkC6GjOKc8o+5QHEe4NwemPBb1bFrR4vH1sSlY/UwEvcvkHWl5mOF2wb36bSArrRux96N/LZf+roy8XV1pcDtL6+0rP55wlHg8j+1v3bIlKp/h74PnN9c9bmZNWChBiztAUsH4OlfxJACAFcOiOHF2hGwailuNq3EgEMmaXx3D6w8EIeU3GL8fioRE3t7S13SfWEYuYuk7MLK+UW6etlLXQ5R0xIEsWuiIF3cFCrAo3vVY79PAW6mAYUZQGGmeGzFRd27PzDlr6rXOr5SPK4mVreNxVK7ixdxlY3YamBuXbXZe1U/duA7QGmB2LKgVAFKC/GjQiU+/1bP/iHWJ1eWbwpApgBkcnG71dRQ8aNMJr5XQQeg/OPtweXJDWJLjFYDaMvKP5ZvurLqx/b4P8BvuNiSoykUa9cUii0/Wk31oCNXigGktED8vLRA3PLLpwM3s6o69vT66sGlgpk1YOMEvLgPsCpfUytuH5B3HbB1AezcAFtXMeTIZHc+nwyWhZkCLw1qg/f/dwHL98fhye4eUCmNt3WEYeQuTpS3inRwU3N+ETIdOq0YLvJTAMiA1sHifkEAfp0g7r+ZBhSkiRfICrcGDJlM7JqoKWCY24qh4FbdXxBfy9K+vNtBLf5Vb6EW/4q/1f/tr/t76Ty+7sfautT9WPkt4UQmw12H11npsXCm//C6H/vod+JHbanYglScc0urUh6guOV3kktHcTxLYaa4FaSLAam0AMguBFR2VcdG/HhncDGzBuxaA2o34In14v8TAGTFix/V7uwmMkBPdvPA8n1i68hvp5IwsZfXvZ9koHiFvYuKMNLTl6v0kpHQlopjLSoukIIA7H4XyE0Ux1bkp4qbUD4C//aAkXRSDCG3slAD1q3EC9KtRn0i/iV/a9eApYM4VuJ2g+c27PtsThRmgHVLcatNv1niVkEQxO+DgnSx26xacOkkBpf8VLGVpShbDC2Zl8UuL/NbWpT2fgic/0NsObJzB+w9gRbegIM34OALBD5Y8/83NQkLMwVmDC5vHdkXiye7uRtt6wjDyF1UhhEfhhEyMJf+BnISgdwEcaxAxZafCnj3qx4wzm8Gbt6o/nyZHLBxvvOv+jGfiYMvbZzFMQc2rcRuj5p0eqLh3xc1DJmsvOXJDmjZpvpj/WaKWwVNodgalnddbFVR3HZZUKgAbUn591oCcO1Q+ddQAO/d8n118DMg84r49Rz9Ace2gEMbhpVG9mQ3DyzbF1s+diQJzxpp6wjDSC3S8otxJaMAMhkQ4sUwQk1EUwBkXwNyrlV9zEkArJ2AB5dUHbf9tTtbMCrcvG1//zfE8GHrCti5AratxZBx+0BMAGg/rqHeCRkLcysxQNweWgDg8dXiwOSCtFu+L6+KLSilRdW7bmJ2iy1rt5IpxJaUVkHi2JqK7zmdrnpXGNXbrXfWLN8XiyeMtHWEYaQWJ+OzAQBBLnZQW7KvlBqIIIitF9nx4i9zv6FVjy3rCaRfrPl5LXyqf+43DCjJE5vN1R5iF0rFZuVY/die0xr2PVDzIpeL421sXQDPnrUf12+2eOt0ZqzY5ZMeA2jygaw4cSDvreF3w0Nit6FzO8C5g3hHlXN7wN6bIaUexnf3wPL9sUjOLcYf4UmY0NP4WkcYRmpxPF6c7KwHu2jofpzZBNw4L/4lmXVF/KuytFB8zMEXeC2i6tiKvnoLe6CFl3jnSMVHh9vCyCMrmqJ6oroLHCNuFSqCd0aMGLxv3X/jvDhWJSsOiP6z6jFzW8B3IPDUxqp9bEW5JwszBV4a2AYL/ozC8n1xeCLEA+ZK4zpnDCO14HgRuqeCzKq/AjNjgczyvwCf/qXqmOMrgeTT1Z8nk4utGS39xF/MFbdUPrFWvOuh4k4GImMmk4ndgnaudz424ziQFiW2pKRFieEk7aLYklIR1it8GyL+XLTuIt751bor0KrdnWNbmrmnenhi+f64yjVrjK11hP+bNcgp1OBiqjjlc3eGkeZNWyoO7GvhXbVv2wzg0k7xL7vbyZXiXBMVvyjbjwM8eoitIBWb2qPmQX32no3xDogMi0wG2DqLW5vBVfu1ZWKwv/V28oKMqkntUiKB8PL9SkvAtbP489XrpSYq3LBVzDvygZG2jjCM1ODkVfEi08bJGo42tdxJQKalJF9sTk6PATIuiVOSZ8SIvwjlSuDd5Ko+79KiqiBi5y7ONOrQRmzpaOmHalON9329yd8KkVFSKMWBrreyagm8FikGkeRIIDlC/FiSCyQeA1w6VB1bWgxseRFw7wZ49BJbUWq7E8xEPd3DE8v2ia0jWyOSML678fyBwzBSgxOV40U4BbzJKcoB0i+JgaPLxKoukm0vVe+7vpVCJd4aa9da/HzgW0D/2WIAMbeq+TlEdP9kMnG8lIMP0P4RcZ9OJ441uR5eHv7LpUQC0dvFDRB/bt1CxEG3nr0Bz17inDkmzMJMgekDffHhjmgs2xeHx7q6Q6kwjtYRhpEacLyIiUi/BCQcE+9QSYsWP+anVD3eZqg44yQAOAYA1scBpwBxfgTHtoBT+Uc7t+pTZd/+1xsRNR25vHweE//q+9XuwLAPxNuLE46JswMnHBE3fCU+VjG/SslNsTtIn9lzjcQzPT2xYn8cErIK8b/IZDwW4n7vJxkAhpHb3Cwpw/nkPAC8k8YolBaLrRxp0eJAuL4zq37BRPwIHFl653NsWwOtAqsPlBv8LjD0P01SMhE1ArV7VdgQBHFAecJRMZgkHBEnA6xwcQewdZo4jb7PAHHz7F218KARszJX4sUBvvjk74v4dl8sxnVxg0Ju+OsOMYzcJvxaNrQ6AR4Olmhtb3nvJ1DTSj0HXNpVPvo+SvyFUzG1OSAuQubTX/y3e3fAd7DYkuEUWP4xoOam2pomACMi4ySTiWO5HP2ArhPvfDwjBoAApJ4Vt6PfihO0uYWIg2q7TRUH2Bqpib28sOpAHOIzCvDX2WQ8HOwmdUn3xDBym8rxIt4cLyKZ4jzxlr8b58WPPadVdY0knQT2fVj9eAt78VY/53bVm13bPSxuRES3GvofcQXlq2FA/EFxy44Hkk6IW8hzVcemnhPnALp9rh8DZq1S4oX+vvhs9yUs3RuLBzq1NvjWEYaR23C8iAQy44Czm4DU88CNc+L057dq3aUqjLh3Bzo9Jc7WWBFAbF25/DkR6cfWGej4uLgB4u+duH3iWLNb50YJnQ/E/SsOWPcbBviPELt8zCxqfl0DMam32DoSm3YTf59PwQOdWktd0l0xjNyiuFSLM4m5ADhepMGVFonjOlLPiVvQA4DvIPGx3ETgwKfVj7dzK58iugPg2qlqv0tH4NFVTVY2ETUT9p5AyOTq+yomJZQrxTt4TsQBJ1aJ85z4DgQCH6i5G8gA2FqYYWo/X3y1JwZL/43FmA6ukBtw6wjDyC3OJOZAo9XByVYFr5a8ZfO+FGQAZ34Rg0fKWbGP9taxHebWVWHEpRMQPEEMGhXrVJjgKHciMjIyGfDsZrHrOP4gEBsKxPwD5CcDMbuAspLqYST9kngHnoG01E7p640fwq7g0o18/BOVilEdapgN10AwjNzi1DVxIqvu3i0gM5BvJoMmCOJiV6lnxcDhFFC16qumAPjnverHWzqIrRwuHYE2Q6r2WzkA45Y3WdlERHqxsBNbc4MeqFpbJ2Z39XlO8lOBZT3EVt2AMeKxXn2rr2zcxNSWZpjS1xtL98bi232xGNnexWCvbQwjtzh1VRwv0s2Lf5XXqEwDXNohBo+UM+JWmFH1eNCDVWHE3hPo+KT4V4JLRzGEcGwHERk7mUz8nebSsfr+GxcAMytx+YiT34ubZQug7Wjxd2ObIZKMM3murw9WH4rH+et52H8pHYMDWzV5DXXBMFJOpxNuaRlp5mFEpxOnQU+JFBd16/CouF8mA7ZMA7QlVcfKFGKLiEsnsQ+1cr8MeOz7Ji2biEgyfkOBt+KB+APibM6XdgKFmcCZn8Vt3Aog+JkmL8vB2hzP9vLCdwev4Ju9lzEowMkgW0cYRsrFpOUjv7gMVuYKBLnaSl1O08q4XLXmQ0qk2PKhERcKhHOHqjCiMAM6PCZ+dO0MuAaLd7OYcT4WIiKYWQBtR4qbtkxcPyf6LyDmb7HrpsLJH4BrR8Xfp35DG30NnRf6+2DdkauISMjB0bhM9PFzbNSvVx8MI+UqFsfr6tnCaOby11vFmg45CeIPQIVfngIyY6sfq7QQmyHdulVf5v6RFU1XLxGRsVIoxVuAvfsBoxZV76KO/FlcW+f8H4BKLXbjdHgE8BlUteJ3A2pla4Gnu3tg/dFrWLo3lmHEkFWOF/FuIXElDUQQxK6W5IiqFS9TzgAleeIEPu8kims8AIBXH3F1TNdgcaVL12BxrEcj/FAQETU7t3eLjF4MnN8CXNgirpcV+ZO4WTuJXTnDFzZ4Cf83sA1+PpGAo1cycepqFroZ2HAEXm3KnbpqxONFKu5qUd8y5e9vk6pWr7yV0lKcLKwoC7AuT8cP1bB+CxERNQ73buI24kNx/Zzzm4ELW4GCdHESyFvlpwK2Lvf9Jd3sLfFYV3f8ejIRS/fGYv3zPe77NRsSwwiA6zlFuJ5TBIVchmAPe6nLubebacD10+XjPMo/FqQDb8RUrafgFCjeB+/SUZzBtHUXscXDKZAtHkREhkAuB7z7itvoT4G4vWIrdYXMOGBpiHiLcOenxOUt7mMxv5cGtcFvpxJxICYdZ5Ny0Mnd/v7fQwPhVQlVXTTtW9vBWmXAp+T0BmD/p0Be0p2PyZXixGIVYaTva8CAOYDSvGlrJCIi/SnMxIGvt0o4Kn68dkjcds4RA0mXZ8WAItdvfKNXS2s8HOyGrRHXsXRvLL6f1K2Bir9/BnzlbTrh5bf0Sj6/SGmROGPp9dNii8f108DDywDPnuLjcrPyICITx3S4dQVadxU/Oneofg+7qpndEUREZGq6PCvOVH12ExD5C5B5GTj7q7i18Aae+kW8o1EPLw9ug22R1xEadQOXUvMR4GIY1wqGEVTdSSPJ4NW0aOD4KjF83LgA6MqqP349vCqM+A0DJv8lDjJl2CAiMn1qd6D/G0C/2UDSKXGg67nNQGF29ZWEs68Cdu737Ib3a2WLUe1d8Pf5VKzYH4slT3Vp3PrrqNmHkbziUlxMzQMAdPNqpDAiCOJicNfDxc13kBgsAKA4FwhfW3WstVN5a0eI2OLhFlL1mI2TuBERUfMikwEe3cVt5MfAjaiqOZ4EAdj4BFCSD3SZCHSdBNh71PpSMwb54e/zqdh+JhmzhwfA0wDWYmv2YeT0tWwIAuDV0gqt7Bpoqt7SYrF/7/rpqgBSkF798Yow4tIJ6PNaefgIEVOwAc6OR0REBsLcWgwlFXITxdleCzOBg4uBsM8B/5FA96lAm6F3jC3p6K7GwLZOOBCTjhUH4rDo0dumtpdAsw8jFbf01nu8SMU4D8iqvjmKc4GfHqt+nFwprkbr1g3wH16139wKGPHf+n1tIiIie09gdjRwcYfY0h5/UJz1NeZvwN5LbEkJeqDaU14e7IcDMenYHJ6E14f6w0Xd9Ovm3KpeU40uX74cPj4+sLCwQEhICMLCwu56/IEDBxASEgILCwv4+vpi5cqV9Sq2MZwsv5Ome13Gi+h0QNpFIGIj8NdsYNUAYJE7sHo4cOCTquNsnQHv/kDHJ4BRnwJT9wBzrwPTDgIPfHnniGkiIqL7oVSJS3dM/hN45RTQawZgoQZyroktKRW04rjEHj4O6OHtAI1Wh+/DrkhUdBW9W0Y2bdqEmTNnYvny5ejbty9WrVqF0aNHIyoqCp6ennccHx8fjzFjxuDFF1/ETz/9hMOHD2PGjBlwcnLCY489VsNXaDqaMh0iE3MAoObZ6Irzqu7pFgRgSQdxRcbbWTuJ262m/NWwxRIREdWFo784Bf2Q/4gL9vkOqnrs3w+ApJNAz2l4eWBPnLiahZ+PJ+DlwX5wsJZuKgiZIAiCPk/o2bMnunbtihUrqtYoCQoKwrhx47Bo0aI7jn/77bexfft2REdHV+6bPn06zpw5g6NHj9bpa+bl5UGtViM3Nxd2dvWf8OV2pxOy8ejyI2hhZYbTb/WCLOVM+RiPU0BSuDg46LXTVU9Y94D4uGuwOLjUvVv5OA8PjvMgIiLDpi0DvgwCCtIAAILaHWtKR+DrrN6YPKQz3hgR0OBfsq7Xb71aRjQaDcLDw/HOO+9U2z9ixAgcOXKkxuccPXoUI0aMqLZv5MiRWL16NUpLS2FmZnbHc0pKSlBSUrVMfV5enj5l1tmpq1l4TbEFTyrCIfvkKoDbcplMUb115PE1gKUDZzAlIiLjo1CKwwVOrQFOrYYsNwlTsQZPqTbiyyMTkT/gE9ha3HlNbgp6jRnJyMiAVquFs7Nztf3Ozs5ITU2t8Tmpqak1Hl9WVoaMjIwan7No0SKo1erKzcOj9luU7sepq9lwlWXCvTQegCC2cLR7WFykaMpO4J2E6lPv2rRiECEiIuNl5woMmQfMigIe+hZCq3awlpXgiqYFfjx2TbKy6nVlld3WJSEIwh377nV8TfsrzJ07F7Nnz678PC8vr1ECyfjuHogzm4AEr2fh2bFfgyxGREREZPDMLICuEyHr8iyO7NuOtkV+eDzEXbJy9Aojjo6OUCgUd7SCpKWl3dH6UcHFxaXG45VKJVq2bFnjc1QqFVQqlT6l1cvQIGcMDXqi0b8OERGRQZLJ0GfIw+gjcRl6ddOYm5sjJCQEoaGh1faHhoaiT5+a30rv3r3vOP6ff/5Bt27dahwvQkRERM2L3vOMzJ49Gz/88APWrFmD6OhozJo1CwkJCZg+fToAsYtl0qRJlcdPnz4d165dw+zZsxEdHY01a9Zg9erVePPNNxvuXRAREZHR0nvMyPjx45GZmYmFCxciJSUFHTp0wM6dO+Hl5QUASElJQUJCQuXxPj4+2LlzJ2bNmoVly5ahdevW+OabbySfY4SIiIgMg97zjEihseYZISIiosZT1+t3vaaDJyIiImooDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkkxjBAREZGkGEaIiIhIUnpPBy+Fikli8/LyJK6EiIiI6qriun2vyd6NIozk5+cDADw8PCSuhIiIiPSVn58PtVpd6+NGsTaNTqdDcnIybG1tIZPJGux18/Ly4OHhgcTERK5508h4rpsGz3PT4HluGjzPTaMxz7MgCMjPz0fr1q0hl9c+MsQoWkbkcjnc3d0b7fXt7Oz4jd5EeK6bBs9z0+B5bho8z02jsc7z3VpEKnAAKxEREUmKYYSIiIgk1azDiEqlwvz586FSqaQuxeTxXDcNnuemwfPcNHiem4YhnGejGMBKREREpqtZt4wQERGR9BhGiIiISFIMI0RERCQphhEiIiKSlMmHkeXLl8PHxwcWFhYICQlBWFjYXY8/cOAAQkJCYGFhAV9fX6xcubKJKjVu+pznLVu2YPjw4XBycoKdnR169+6N3bt3N2G1xk3f7+kKhw8fhlKpRHBwcOMWaCL0Pc8lJSWYN28evLy8oFKp0KZNG6xZs6aJqjVe+p7njRs3onPnzrCysoKrqyuee+45ZGZmNlG1xungwYN48MEH0bp1a8hkMmzbtu2ez2nya6Fgwn799VfBzMxM+P7774WoqCjh9ddfF6ytrYVr167VePyVK1cEKysr4fXXXxeioqKE77//XjAzMxP++OOPJq7cuOh7nl9//XXh008/FU6cOCHExMQIc+fOFczMzITTp083ceXGR99zXSEnJ0fw9fUVRowYIXTu3LlpijVi9TnPDz30kNCzZ08hNDRUiI+PF44fPy4cPny4Cas2Pvqe57CwMEEulwtff/21cOXKFSEsLExo3769MG7cuCau3Ljs3LlTmDdvnrB582YBgLB169a7Hi/FtdCkw0iPHj2E6dOnV9sXGBgovPPOOzUe/9ZbbwmBgYHV9k2bNk3o1atXo9VoCvQ9zzVp166d8MEHHzR0aSanvud6/PjxwnvvvSfMnz+fYaQO9D3Pf//9t6BWq4XMzMymKM9k6HueP/vsM8HX17favm+++UZwd3dvtBpNTV3CiBTXQpPtptFoNAgPD8eIESOq7R8xYgSOHDlS43OOHj16x/EjR47EqVOnUFpa2mi1GrP6nOfb6XQ65Ofnw8HBoTFKNBn1Pddr165FXFwc5s+f39glmoT6nOft27ejW7duWLx4Mdzc3NC2bVu8+eabKCoqaoqSjVJ9znOfPn2QlJSEnTt3QhAE3LhxA3/88QfGjh3bFCU3G1JcC41iobz6yMjIgFarhbOzc7X9zs7OSE1NrfE5qampNR5fVlaGjIwMuLq6Nlq9xqo+5/l2X3zxBQoKCvDkk082Rokmoz7n+vLly3jnnXcQFhYGpdJkf9wbVH3O85UrV3Do0CFYWFhg69atyMjIwIwZM5CVlcVxI7Woz3nu06cPNm7ciPHjx6O4uBhlZWV46KGHsHTp0qYoudmQ4lposi0jFWQyWbXPBUG4Y9+9jq9pP1Wn73mu8Msvv2DBggXYtGkTWrVq1VjlmZS6nmutVotnnnkGH3zwAdq2bdtU5ZkMfb6ndTodZDIZNm7ciB49emDMmDH48ssvsW7dOraO3IM+5zkqKgqvvfYa3n//fYSHh2PXrl2Ij4/H9OnTm6LUZqWpr4Um+6eSo6MjFArFHQk7LS3tjsRXwcXFpcbjlUolWrZs2Wi1GrP6nOcKmzZtwtSpU/H7779j2LBhjVmmSdD3XOfn5+PUqVOIiIjAK6+8AkC8aAqCAKVSiX/++QdDhgxpktqNSX2+p11dXeHm5lZtqfSgoCAIgoCkpCT4+/s3as3GqD7nedGiRejbty/mzJkDAOjUqROsra3Rv39/fPjhh2y9biBSXAtNtmXE3NwcISEhCA0NrbY/NDQUffr0qfE5vXv3vuP4f/75B926dYOZmVmj1WrM6nOeAbFFZMqUKfj555/Z31tH+p5rOzs7nDt3DpGRkZXb9OnTERAQgMjISPTs2bOpSjcq9fme7tu3L5KTk3Hz5s3KfTExMZDL5XB3d2/Ueo1Vfc5zYWEh5PLqly2FQgGg6i93un+SXAsbbWisAai4bWz16tVCVFSUMHPmTMHa2lq4evWqIAiC8M477wgTJ06sPL7idqZZs2YJUVFRwurVq3lrbx3oe55//vlnQalUCsuWLRNSUlIqt5ycHKnegtHQ91zfjnfT1I2+5zk/P19wd3cXHn/8ceHChQvCgQMHBH9/f+GFF16Q6i0YBX3P89q1awWlUiksX75ciIuLEw4dOiR069ZN6NGjh1RvwSjk5+cLERERQkREhABA+PLLL4WIiIjKW6gN4Vpo0mFEEARh2bJlgpeXl2Bubi507dpVOHDgQOVjkydPFgYOHFjt+P379wtdunQRzM3NBW9vb2HFihVNXLFx0uc8Dxw4UABwxzZ58uSmL9wI6fs9fSuGkbrT9zxHR0cLw4YNEywtLQV3d3dh9uzZQmFhYRNXbXz0Pc/ffPON0K5dO8HS0lJwdXUVJkyYICQlJTVx1cZl3759d/2dawjXQpkgsG2LiIiIpGOyY0aIiIjIODCMEBERkaQYRoiIiEhSDCNEREQkKYYRIiIikhTDCBEREUmKYYSIiIgkxTBCREREkmIYISIiIkkxjBAREZGkGEaIiIhIUgwjREREJKn/B+FunN1r+9yUAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 选择配点（Chebyshev 节点）\n",
    "N = 10\n",
    "x_c = np.cos((2*np.arange(1, N+1)-1) * np.pi / (2*N))  # Chebyshev 节点\n",
    "x_c = (x_c + 1) / 2  # 变换到 [0,1]\n",
    "\n",
    "# 计算基函数\n",
    "def phi(x, i):\n",
    "    return x * (1 - x) * x**i\n",
    "\n",
    "def phi_dd(x, i):  # 二阶导数\n",
    "    return (2*i*x**i + i*(i-1)*x**(i-2)) * (1 - 2*x)\n",
    "\n",
    "A = np.zeros((N, N))\n",
    "b = np.zeros(N)\n",
    "\n",
    "for k in range(N):\n",
    "    for i in range(N):\n",
    "        A[k, i] = -phi_dd(x_c[k], i) + phi(x_c[k], i)\n",
    "    b[k] = x_c[k]\n",
    "\n",
    "# 求解系数\n",
    "c = np.linalg.solve(A, b)\n",
    "\n",
    "# 构造近似解\n",
    "x_plot = np.linspace(0, 1, 100)\n",
    "u_approx = sum(c[i] * phi(x_plot, i) for i in range(N))\n",
    "\n",
    "# 真实解（参考有限差分解）\n",
    "def true_solution(x):\n",
    "    return x - np.sinh(x) / np.sinh(1)\n",
    "\n",
    "plt.plot(x_plot, u_approx, label=\"Collocation Method\")\n",
    "plt.plot(x_plot, true_solution(x_plot), label=\"True Solution\", linestyle=\"dashed\")\n",
    "plt.legend()\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
